using System;
using EPiServer.Common;
using EPiServer.Common.Security;

namespace EPiAbstractions.Common
{
    public interface IAuthorHandlerFacade
    {
        IAuthor AddAuthor(IAuthor author);

        void UpdateAuthor(IAuthor author);

        void RemoveAuthor(IAuthor author);

        IAuthor GetAuthor(Int32 id);

        IAuthor GetUserAuthor(IUser user);

        IAuthor GetAnonymousAuthor(IUser user, String pseudonym);

        IAuthor ChangeAuthor(IAuthor author1, IAuthor author2);
    }
}